/*
 * @Descripttion:
 * @version:
 * @Author: lfzxs@qq.com
 * @Date: 2022-11-28 08:29:08
 * @LastEditors: lfzxs@qq.com
 * @LastEditTime: 2022-11-28 11:18:17
 */
package authn

type Object interface{}

type AuthenticationToken interface {

	// 获取身份信息
	getPrincipal() Object

	// 认证信息
	getCredentials() Object
}

// 认证器
type Authenticator interface {
	authenticate(authenticationToken AuthenticationToken) (AuthenticationInfo, error)
}

type AuthenticationInfo interface {
	getPrincipals() Object

	getCredentials() Object
}
